import 'package:flutter/material.dart';


/// `ErrorView` 是一个可重用的组件，用于在发生错误时向用户显示一条消息和一个重试按钮。
///
/// - **职责**: 提供一个标准化的错误界面，提高UI的一致性。
/// - **可重用性**: 可以在应用中任何需要处理错误状态的地方使用，
///   例如，当API调用失败或数据加载出错时。
class ErrorView extends StatelessWidget {
  /// 要显示的错误消息。
  final String message;

  /// 点击“重试”按钮时调用的回调函数。
  final VoidCallback onRetry;

  /// `ErrorView` 的构造函数。
  const ErrorView({super.key, required this.message, required this.onRetry});

  @override
  Widget build(BuildContext context) {
    // 使用 `Center` 将错误视图在屏幕上居中显示。
    return Center(
      child: Column(
        // 主轴居中对齐。
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          // 显示错误消息。
          Text(message, style: Theme.of(context).textTheme.titleMedium),
          // 文本和按钮之间的间距。
          const SizedBox(height: 16),
          // “重试”按钮。
          ElevatedButton(
            // 点击时触发重试回调。
            onPressed: onRetry,
            child: const Text('Retry'),
          ),
        ],
      ),
    );
  }
}